For the purposes of the current invention, the term CIELAB refers to the prior art device independent color space (DICS) defined by the Commission Internationale De L'Eclairage (CIE). Those skilled in the art will recognize that the CIELAB color space is widely used in the fields of digital imaging and color gamut mapping. The use of the CIELAB color space throughout this document is meant to serve as an example device independent color space. However, many other well known device independent color spaces could be substituted for CIELAB.
A typical digital imaging system may include an image capture device such as a digital camera or scanner, a computer attached to the digital camera for processing the digital images, and a color output device such as a printer or softcopy display attached to the computer for printing/viewing the processed digital images. A color management architecture for a digital imaging system provides a means for processing the digital images in the computer such that the output colors that are produced on the output device are reasonable reproductions of the desired input colors as captured by the input device. One such color management architecture that is widely known and accepted in the art is defined by the International Color Consortium (ICC) in Specification ICC.1:2001-12 “File Format For Color Profiles”. The ICC color management framework provides for characterizing an imaging device using a device profile such as an “ICC profile”. The ICC profile for an imaging device specifies how to convert to/from device dependent color space (DDCS) from/to a device independent color space (DICS) so that images may be communicated from one device to another.
For example, images generated by a digital camera are generally composed of a 2-dimensional (x,y) array of discrete pixels, where each pixel is represented by a trio of 8-bit digital code values (which are integers in the range 0–255) that represent the amount of red, green, and blue color that were “seen” by the camera at this pixel. These RGB code values represent the DDCS, since they describe the amount of light that was captured through the specific set of RGB filters that are used in the digital camera. In order for this digital image to be used, the RGB code values must be transformed into a DICS so they may be properly interpreted by another imaging device. An example of a typical digital imaging system incorporating ICC color management is depicted in FIG. 1, in which a digital image source 10 provides RGB input code values (a DDCS) to a computer (not shown). The computer transforms the RGB input code values to a DICS (which is CIELAB in this case) using an input device color transform 20 specified by the ICC profile for the digital image source 10. Once converted to CIELAB, the image is then processed through an output device color transform 30, which is specified by an ICC profile for the output device. In this case, the output device is an inkjet printer 40 that uses cyan, yellow, magenta, and black (CMYK) colorants. Thus, the ICC profile for the inkjet printer 40 provides the transformation from the DICS (CIELAB) to the DDCS (CMYK) for the printer. The combination of the ICC profile transformations for the input and output devices ensures that the colors reproduced by the output device match those captured by the input device.
The ICC profile format, of course, simply provides a file format in which a color transform is stored. The color transform itself, which is typically encoded as a multidimensional look-up table, is what specifies the mathematical conversion from one color space to another. There are many tools known in the art (such as the commercially available Kodak ColorFlow Profile Editor) for creating ICC profiles for wide variety of imaging devices, including inkjet printers using CMYK colorants. CMYK printers in particular pose a challenge when creating a color transform. Since there are 4 colorants that are used to print a given color, which is specified in the DICS by 3 channels (e.g., CIELAB [L*, a*, b*] coordinates), then there is an extra degree of freedom that results in a many-to-one mapping, where many CMYK code value combinations can result in the same color. Thus, when building the color transform, a method of choosing a particular CMYK combination that is used to reproduce a given color is required. Techniques to accomplish this (known in the graphic arts as Under Color Removal (UCR) or Black Generation (BG)) are known in the art, as taught in U.S. Pat. Nos. 4,482,917; 5,425,134; 5,508,827; 5,553,199; and 5,710,824. These methods primarily use smooth curves or interpolation techniques to specify the amount of black ink that is used to reproduce a color based on its location in color space, and then compute the amount of cyan, magenta, and yellow (CMY) ink that are need to accurately reproduce the color.
A given UCR or BG process controls both the mapping between DICS values and DDCS colorant control signal values and the form of the device color gamut boundary in the DICS. The device color gamut, in the DICS, defines the range of DICS values that are reproducible by the color imaging device. Color imaging devices with larger DICS gamuts are capable of producing a wider range of DICS values than devices with smaller DICS gamuts. The ICC color profile specification defines the range of all DICS values that may be represented in an output color profile. This range of DICS values is larger than the color gamut boundary of typical color imaging devices. As such, the regions of the DICS that are outside of the color gamut boundary of the color imaging device need to be mapped into the color gamut boundary of the output color imaging device. This process is commonly referred to in the art as color gamut mapping.
In order to perform a color gamut mapping operation in a DICS, a representation of the color imaging device's color gamut boundary is necessary. U.S. Pat. No. 5,721,572 teaches a process of generating a gamut surface descriptor (referred to herein as a color gamut boundary) that consists of color gamut boundary points and a set of a set of triangular facets. One such DICS color gamut boundary is shown in FIG. 2. Thus, DICS values that fall inside of this color gamut boundary are capable of being created by the output color imaging device, and DICS values that fall outside of this color gamut boundary are not capable of being created by the output color imaging device. The color gamut descriptor described by U.S. Pat. No. 5,721,572 defines the complete color gamut boundary for a three or four colorant color imaging device. The complete color gamut boundary is defined as one that encompasses all combinations of the colorants used by the output color imaging device. Thus, the complete color gamut boundary defines all possible DICS values producible by the device. It is important to realize the distinction between the complete color gamut boundary and the reduced color gamut boundary formed when UCR or BG strategies are utilized. Often, the UCR or BG strategy will limit the reduced color gamut boundary compared to the complete color gamut boundary by eliminating certain colorant combinations.
In the case of an inkjet printer, which places discrete drops of CMYK inks on a page, different combinations of CMYK code values may produce the same color, but appear much different in graininess or noise when viewed by a human observer. This is due to the fact that inkjet printers are typically multitone printers, which are capable of ejecting only a fixed number (generally 1–8) of discrete ink drop sizes at each pixel. The graininess of a multitoned image region will vary depending on the CMYK code values that were used to generate it. Thus, certain CMYK code value combinations might produce visible patterns having an undesirable grainy appearance, while other CMYK code value combinations may produce the same (or nearly the same) color, but not appear as grainy. This relationship is not recognized nor taken advantage of in the prior art techniques for generating color transforms for CMYK printers.
An additional complication with creating color transform for inkjet printers is that image artifacts can typically result from using too much ink. These image artifacts degrade the image quality, and can result in an unacceptable print. In the case of an inkjet printer, some examples of these image artifacts include bleeding, cockling, banding, and coalescence. Bleeding is characterized by an undesirable mixing of colorants along a boundary between printed areas of different colorants. The mixing of the colorants results in poor edge sharpness, which degrades the image quality. Cockling is characterized by a warping or deformation of the receiver that can occur when printing excessive amounts of colorant. In severe cases, the receiver may warp to such an extent as to interfere with the mechanical motions of the printer, potentially causing damage to the printer. Banding refers to unexpected dark or light lines or streaks that appear running across the print, generally oriented along one of the axes of motion of the printer. Coalescence refers to undesired density or tonal variations that arise when ink pools together on the page, and can give the print a grainy appearance, thus degrading the image quality. In an inkjet printer, satisfactory density, and color reproduction can generally be achieved without using the maximum possible amount of colorant. Therefore, using excessive colorant not only introduces the possibility of the above described image artifacts occurring, but is also a waste of colorant. This is disadvantageous, since the user will get fewer prints from a given quantity of colorant.
It has been recognized in the art that the use of excessive colorant when printing a digital image needs to be avoided. Generally, the amount of colorant needed to cause image artifacts (and therefore be considered excessive) is receiver, colorant, and printer technology dependent. Many techniques of reducing the colorant amount are known in the art, some of which operate on the image data after multitoning. See, for example, U.S. Pat. Nos. 4,930,018; 5,515,479; 5,563,985; 5,012,257; and 6,081,340. U.S. Pat. No. 5,633,662 to Allen et al. teaches a method of reducing colorant using a pre-multitoning algorithm that operates on higher bit precision data (typically 256 levels, or 8 bits per pixel, per color). Also, many of the commercially available ICC profile creation tools (such as Kodak ColorFlow Profile Editor) have controls that can be adjusted when creating the ICC profile that limit the amount of colorant that will be printed when using the ICC profile. This process is sometimes referred to as total colorant amount limiting.
The prior art techniques for total colorant amount limiting work well for many inkjet printers, but are disadvantaged when applied to state of the art inkjet printers that use other than the standard set of CMYK inks. A common trend in state of the art inkjet printing is to use CMYKcm inks, in which additional cyan and magenta inks (represented by the lowercase c and m in CMYKcm) that are lighter in density are used. The use of the light inks results in less visible ink dots in highlight regions, and therefore improved image quality. However, many tools for creating ICC profiles cannot be used to create a profile that directly addresses all 6 color channels of the inkjet printer, due to the complex mathematics involved. Instead, a CMYK profile is typically created, which is then followed by a look-up table that converts CMYK to CMYKcm. For example, see U.S. Pat. No. 6,312,101. While this and similar methods provide a way for current ICC profile generation tools to be used with CMYKcm printers, the amount of colorant that gets placed on the page as a function of the CMYK code value is typically highly non-linear and possibly non-monotonic as well. This creates a big problem for the prior art ICC profile generation tools, since they all assume that the amount of colorant that is printed is proportional to the CMYK code value. Thus, when building an ICC profile for a CMYKcm printer using prior art tools, the total colorant amount limiting is often quite inaccurate, resulting in poor image quality.
Since output color profiles are designed to accept as inputs DICS values over a larger range of values than are capable of being reproduced by the output color imaging device, a gamut mapping process is required. Many such gamut-mapping processes are known in the art. One common color gamut-mapping process is gamut clipping. This process involves taking an out-of-gamut DICS value and mapping it to the surface of the color imaging device gamut. Using this type of approach, all out-of-gamut DICS values will get reproduced using the DDCS values of combinations of points defined in the color gamut boundary. Based on the description of the color imaging artifacts described above, for inkjet and other multicolor imaging devices, different colorant combinations will lead to different ink volumes, perceived noise (graininess), and other imaging characteristics. Since it is desirable for all DICS (in-gamut and out-of-gamut) values to be produced with the optimal physical and visual characteristics, it is important to consider the DDCS values used to create a given DICS value for their imaging characteristics as described above.
In light of the above described image artifacts, there is the need for a reduced color gamut boundary used in preparing a digital image for a digital printer in which the amount of colorant, the noise (or graininess), and the color reproduction accuracy can be simultaneously adjusted by a user.